package entidades;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;

import enumeraciones.TipoRefraccionEnum;


/**
 * The persistent class for the t_refraccion database table.
 * 
 */
@Entity
@Table(name="t_refraccion")
public class TRefraccion  implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="T_REFRACCION_IDREFRACCION_GENERATOR", sequenceName="T_REFRACCION_ID_REFRACCION_SEQ", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="T_REFRACCION_IDREFRACCION_GENERATOR")
	@Column(name="id_refraccion")
	private Integer idRefraccion;

	@Column(name="des_tipo_pri")
	@Enumerated (value = EnumType.STRING)
	private TipoRefraccionEnum desTipoPri;

	@Column(name="des_tipo_sec")
	@Enumerated (value = EnumType.STRING)
	private TipoRefraccionEnum desTipoSec;

	@Column(name="od_av")
	private String odAv;

	@Column(name="od_av_sec")
	private String odAvSec;

	@Column(name="od_cil")
	private String odCil;

	@Column(name="od_cil_sec")
	private String odCilSec;

	@Column(name="od_eje")
	private String odEje;

	@Column(name="od_eje_sec")
	private String odEjeSec;

	@Column(name="od_esf")
	private String odEsf;

	@Column(name="od_esf_sec")
	private String odEsfSec;

	@Column(name="oi_av")
	private String oiAv;

	@Column(name="oi_av_sec")
	private String oiAvSec;

	@Column(name="oi_cil")
	private String oiCil;

	@Column(name="oi_cil_sec")
	private String oiCilSec;

	@Column(name="oi_eje")
	private String oiEje;

	@Column(name="oi_eje_sec")
	private String oiEjeSec;

	@Column(name="oi_esf")
	private String oiEsf;

	@Column(name="oi_esf_sec")
	private String oiEsfSec;
	
	@Column(name="des_obs")
	private String desObs;

	@Column(name="user_creacion")
	private String userCreacion;

	@Column(name="user_modificacion")
	private String userModificacion;

	@Temporal( TemporalType.TIMESTAMP)
	@Column(name="fecha_creacion")
	private Date fechaCreacion;
	
	@Temporal( TemporalType.TIMESTAMP)
	@Column(name="fecha_modificacion")
	private Date fechaModificacion;
	
	//bi-directional many-to-one association to TControl
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="id_control")
	private TControl TControl;

	@Version
	private Integer version;
	
    public TRefraccion() {
    }

	public Integer getIdRefraccion() {
		return this.idRefraccion;
	}

	public void setIdRefraccion(Integer idRefraccion) {
		this.idRefraccion = idRefraccion;
	}
	
	public TControl getTControl() {
		return TControl;
	}

	public void setTControl(TControl tControl) {
		TControl = tControl;
	}

	public String getOdAv() {
		return odAv;
	}

	public void setOdAv(String odAv) {
		this.odAv = odAv;
	}

	public String getOdAvSec() {
		return odAvSec;
	}

	public void setOdAvSec(String odAvSec) {
		this.odAvSec = odAvSec;
	}

	public String getOdCil() {
		return odCil;
	}

	public void setOdCil(String odCil) {
		this.odCil = odCil;
	}

	public String getOdCilSec() {
		return odCilSec;
	}

	public void setOdCilSec(String odCilSec) {
		this.odCilSec = odCilSec;
	}

	public String getOdEje() {
		return odEje;
	}

	public void setOdEje(String odEje) {
		this.odEje = odEje;
	}

	public String getOdEjeSec() {
		return odEjeSec;
	}

	public void setOdEjeSec(String odEjeSec) {
		this.odEjeSec = odEjeSec;
	}

	public String getOdEsf() {
		return odEsf;
	}

	public void setOdEsf(String odEsf) {
		this.odEsf = odEsf;
	}

	public String getOdEsfSec() {
		return odEsfSec;
	}

	public void setOdEsfSec(String odEsfSec) {
		this.odEsfSec = odEsfSec;
	}

	public String getOiAv() {
		return oiAv;
	}

	public void setOiAv(String oiAv) {
		this.oiAv = oiAv;
	}

	public String getOiAvSec() {
		return oiAvSec;
	}

	public void setOiAvSec(String oiAvSec) {
		this.oiAvSec = oiAvSec;
	}

	public String getOiCil() {
		return oiCil;
	}

	public void setOiCil(String oiCil) {
		this.oiCil = oiCil;
	}

	public String getOiCilSec() {
		return oiCilSec;
	}

	public void setOiCilSec(String oiCilSec) {
		this.oiCilSec = oiCilSec;
	}

	public String getOiEje() {
		return oiEje;
	}

	public void setOiEje(String oiEje) {
		this.oiEje = oiEje;
	}

	public String getOiEjeSec() {
		return oiEjeSec;
	}

	public void setOiEjeSec(String oiEjeSec) {
		this.oiEjeSec = oiEjeSec;
	}

	public String getOiEsf() {
		return oiEsf;
	}

	public void setOiEsf(String oiEsf) {
		this.oiEsf = oiEsf;
	}

	public String getOiEsfSec() {
		return oiEsfSec;
	}

	public void setOiEsfSec(String oiEsfSec) {
		this.oiEsfSec = oiEsfSec;
	}

	public String getDesObs() {
		return desObs;
	}

	public void setDesObs(String desObs) {
		this.desObs = desObs;
	}

	public TipoRefraccionEnum getDesTipoPri() {
		return desTipoPri;
	}

	public void setDesTipoPri(TipoRefraccionEnum desTipoPri) {
		this.desTipoPri = desTipoPri;
	}

	public TipoRefraccionEnum getDesTipoSec() {
		return desTipoSec;
	}

	public void setDesTipoSec(TipoRefraccionEnum desTipoSec) {
		this.desTipoSec = desTipoSec;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public String getUserCreacion() {
		return userCreacion;
	}

	public void setUserCreacion(String userCreacion) {
		this.userCreacion = userCreacion;
	}

	public String getUserModificacion() {
		return userModificacion;
	}

	public void setUserModificacion(String userModificacion) {
		this.userModificacion = userModificacion;
	}

	public Date getFechaCreacion() {
		return fechaCreacion;
	}

	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Date getFechaModificacion() {
		return fechaModificacion;
	}

	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	
}